<?php
class CmsPlugin2
{
	var $mPluginConfig;
	var $mData;
	var $mIcon;
	var $mGlobal; //������ �� ������ � ���������� ������ ��� �� ��� ������ ���������� �� ��������
	var $mContentFields=array(); //����, ������� ���������� � GetContent. ��������, ���� ������� �� �������� ���� �������
	var $mContentTable; //�������� ������� ������� � ���������
	var $mContentIdField;
	var $mRegion;
	var $mStartFunction; //�������, ���������� �������. �� ��������� getOutput

	function CmsPlugin2()
	{
		$this->mTemplate="/default/undefined.tpl";

		if (!$this->mIcon)
		{
			$this->mIcon=CMS_DEFAULTICON_DIR."/default.gif";
		}
	}

	function getProperties()
	{
		return 0;
	}


	function SetData($aliasName, $data)
	{
		$this->mData[$aliasName] = $data;
	}

	function RunFileTemplate($tpl = '',$data=false)
	{
		if (!$_GET['nosmarty'])
		{
			global $smarty;

			if (!$tpl)
			{
				$tpl = $this->mTemplate;
			}

			$smarty->assign("plugin", $this->mData);
			$tplFile = TEMPLATES_DIR."/".$tpl;
			$result = $smarty->fetch($tplFile);
		}
		else
		$result=$data;

		return $result;

	}

	function RunJTemplate($data,$extraJS=false,$outputDiv='jTplOutput',$ieBug=false,$insmarty=false)
	{

		if (!$_GET['nosmarty'])
		{
			if ($ieBug)
			{
				//echo 'dd';
				$bugComma=substr($data,-5,1);
				//print_r($bugComma);
				if ($bugComma==',')
				{
					$data = substr_replace($data,"",-5);
					$data=$data.']}';

				}
			}
			$usedTemplates = explode(',',$this->mTemplate);
			$mainContainerName = 'jtpl'.str_replace(array('.jtpl','/'),'',$usedTemplates[0]);
			$result="<script>
		$(document).ready(function() {
			var data = $data
			
			// attach the template
			$(\"#$outputDiv\").setTemplateElement(\"$mainContainerName\");
			
			// process the template
			$(\"#$outputDiv\").processTemplate(data);
			$extraJS
		});	
		 </script>
		 ";

			foreach ($usedTemplates as $k=>$v)
			{
				$tplContainerName = 'jtpl'.str_replace(array('.jtpl','/'),'',$usedTemplates[$k]);
				$tplContent=file_get_contents(JTEMPLATES_DIR."/".$usedTemplates[$k]);
				$addToresult.='<textarea id="'.$tplContainerName.'" style="display:none">'.$tplContent.'</textarea>';
			}
			$result=$result.$addToresult."<div id='$outputDiv'></div>";


			if ($insmarty)
			{
				global $smarty;
				$this->mData['jtemplate']=$result;
				$smarty->assign("plugin", $this->mData);
				$tplFile = TEMPLATES_DIR."/".$insmarty;
				$result = $smarty->fetch($tplFile);
			}
		}


		else
		{
			$result=$data;
		}

		return $result;
	}

	function GetIcon()
	{
		return $this->mIcon;
	}


	function InitConfig($config)
	{
		$this->mPluginConfig=unserialize($config);
		if (is_array($this->mPluginConfig))
		foreach ($this->mPluginConfig as $k=>$v)
		{
			$this->$k=$v;
		}
		unset ($this->mPluginConfig);
	}




}
 ?>